<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Programming game</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Programming_game"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Programming_game rootpage-Programming_game skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Programming game</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}
/* end https://en.wikipedia.org/ */
</style>
<p>A <b>programming game</b> is a <a href="Video_game" title="Video game">video game</a> that incorporates elements of <a href="Computer_programming" title="Computer programming">computer programming</a>, enabling the player to direct otherwise autonomous units within the game to follow commands in a <a href="Domain-specific_programming_language" class="mw-redirect" title="Domain-specific programming language">domain-specific programming language</a>, often represented as a <a href="Visual_language" title="Visual language">visual language</a> to simplify the programming metaphor. Programming games broadly fall into two areas: single-player games where the programming elements either make up part of or the whole of a <a href="Puzzle_video_game" title="Puzzle video game">puzzle video game</a>, and multiplayer games where the player's automated program is pitted against other players' programs.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="As_puzzle_games">As puzzle games</h2></div>
<p>Early games in the genre include <i><a href="System_15000" title="System 15000">System 15000</a></i> and <i><a href="Hacker_(video_game)" title="Hacker (video game)">Hacker</a></i>, released in 1984 and 1985 respectively.
</p><p>Programming games have been used as part of puzzle games, challenging the player to achieve a specific result once the program starts operating. An example of such a game is <i><a href="SpaceChem" title="SpaceChem">SpaceChem</a></i>, where the player must use its visual language to manipulate two <a href="Waldo_(device)" class="mw-redirect" title="Waldo (device)">waldos</a> as to disassemble and reassemble chemical molecules. In such games, players are able to test and debug their program as often as necessary until they find a solution that works. Many of these games encourage the player to find the most efficient program, measured by the number of timesteps needed or number of commands required. Other similar games include <i><a href="Human_Resource_Machine" title="Human Resource Machine">Human Resource Machine</a></i>,<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> <i><a href="Infinifactory" title="Infinifactory">Infinifactory</a></i>, and <i><a href="TIS-100" title="TIS-100">TIS-100</a></i>. <a href="Zachtronics" title="Zachtronics">Zachtronics</a> is a video game development company known for its programming-centric <a href="Puzzle_games" class="mw-redirect" title="Puzzle games">puzzle games</a>.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p><p>Other games incorporate the elements of programming as portions of puzzles in the larger game. For example, <i><a href="Hack_'n'_Slash" title="Hack 'n' Slash">Hack 'n' Slash</a></i> include a metaphor of being able to access the internal programs and variables of objects represented in the game world, pausing the rest of the game as the player engages this programming interface, and modify the object's program as to progress further; this might be changing the state of an object from being indestructible to destructible. Other similar games with this type of programming approach include <i><a href="Transistor_(video_game)" title="Transistor (video game)">Transistor</a></i>, <i><a href="Else_Heart.Break()" title="Else Heart.Break()">else Heart.Break()</a></i>, <i>Glitchspace</i>, and <i><a href="Pony_Island" title="Pony Island">Pony Island</a></i>.<sup id="cite_ref-rps_best_3-0" class="reference"><a href="#cite_note-rps_best-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p><p>Another approach used in some graphical games with programming elements is to present the player with a <a href="Command_line_interface" class="mw-redirect" title="Command line interface">command line interface</a> to issue orders via a domain-specific language to direct objects within the game, allowing the player to reissue commands as the situation changes rather than crafting a pre-made program. Games like <i><a href="Quadrilateral_Cowboy" title="Quadrilateral Cowboy">Quadrilateral Cowboy</a></i> and <i><a href="Duskers" title="Duskers">Duskers</a></i> have the user command several small robotic creatures in tandem through the language of code to reach a certain goal.<sup id="cite_ref-rps_best_3-1" class="reference"><a href="#cite_note-rps_best-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> <i><a href="Hackmud" title="Hackmud">Hackmud</a></i> presents the player with a simulated mainframe interface through which they issue commands to progress forward.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="As_competitive_games">As competitive games</h2></div>
<p>Many programming games involve controlling entities such as <a href="Robot" title="Robot">robots</a>, <a href="Tank" title="Tank">tanks</a> or <a href="Bacteria" title="Bacteria">bacteria</a> which seek to destroy each other. Such games can be considered environments of <a href="Digital_organism" title="Digital organism">digital organisms</a>, related to <a href="Artificial_life" title="Artificial life">artificial life</a> simulations. An early example is <i><a href="Core_War" title="Core War">Core War</a></i> (1984), where programs written in a standardized assembly-like language battle for space in a finite memory (virtual <a href="Magnetic-core_memory" title="Magnetic-core memory">magnetic <i>cores</i></a>). Players are given tools to develop and test out their programs within the game's domain-specific language before submitting the program to a central server. The server then executes the program against others and reports the results to the player, from which they can make changes or improvements to the program.
</p><p>There are different <a href="Tournament" title="Tournament">tournaments</a> and leagues for the programming games where the characters can compete with each other. Usually a script is optimized for a special strategy. Similar approaches are used for more traditional games; the <a href="World_Computer_Chess_Championship" title="World Computer Chess Championship">World Computer Chess Championship</a> consists of matches between programs written for the <a href="Abstract_strategy_game" title="Abstract strategy game">abstract strategy game</a> of <a href="Chess" title="Chess">chess</a>.
</p><p>The competitive programming game has also found its way to various <a href="Board_games" class="mw-redirect" title="Board games">board games</a> such as <i><a href="RoboRally" title="RoboRally">RoboRally</a></i> or <i>Robot Turtles</i>, typically where a program becomes a premade deck of playing cards played one by one to execute that code.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</p><p>Researchers presented <i>RoboCode</i> as a "problem-based learning" substrate for teaching programming.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Related_areas">Related areas</h2></div>
<p>Open world games that feature the ability for players to construct environments from an array of building blocks have often been used by more advanced players to construct logic circuits and more advanced programs from the fundamental blocks. <i><a href="Minecraft" title="Minecraft">Minecraft</a></i> is one such example, as while the game provides a limited set of blocks that mimic switches and electric circuits, users have been able to create basic functional computers within the virtual world, and at least one <a href="Mod_(video_gaming)" class="mw-redirect" title="Mod (video gaming)">modification</a> is aimed to teach children how to program on the virtual computer in a simplistic language.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>
</p><p>Several sites, such as <i><a href="Codecademy" title="Codecademy">Codecademy</a></i>, help to teach real-world programming languages through <a href="Gamification_of_learning" title="Gamification of learning">gamification</a>, where video game principles are used to motivate the user.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1266661725">
/* start https://en.wikipedia.org/ */
.mw-parser-output .portalbox{padding:0;margin:0.5em 0;display:table;box-sizing:border-box;max-width:175px;list-style:none}.mw-parser-output .portalborder{border:1px solid var(--border-color-base,#a2a9b1);padding:0.1em;background:var(--background-color-neutral-subtle,#f8f9fa)}.mw-parser-output .portalbox-entry{display:table-row;font-size:85%;line-height:110%;height:1.9em;font-style:italic;font-weight:bold}.mw-parser-output .portalbox-image{display:table-cell;padding:0.2em;vertical-align:middle;text-align:center}.mw-parser-output .portalbox-link{display:table-cell;padding:0.2em 0.2em 0.2em 0.3em;vertical-align:middle}@media(min-width:720px){.mw-parser-output .portalleft{margin:0.5em 1em 0.5em 0}.mw-parser-output .portalright{clear:right;float:right;margin:0.5em 0 0.5em 1em}}
/* end https://en.wikipedia.org/ */
</style>
<ul><li>Programming games category</li>
<li><a href="List_of_digital_organism_simulators" class="mw-redirect" title="List of digital organism simulators">List of digital organism simulators</a></li>
<li><a href="Visual_programming_language" title="Visual programming language">Visual programming language</a></li>
<li><a href="Zachtronics" title="Zachtronics">Zachtronics</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFSayer2016" class="citation web cs1">Sayer, Matt (October 3, 2016). <a rel="nofollow" class="external text" href="https://www.rockpapershotgun.com/2016/10/03/can-video-games-teach-you-programming/">"Can Videogames Teach You Programming?"</a>. <i><a href="Rock_Paper_Shotgun" title="Rock Paper Shotgun">Rock Paper Shotgun</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">October 3,</span> 2016</span>.</cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite id="CITEREFTarason2019" class="citation web cs1">Tarason, Dominic (7 February 2019). <a rel="nofollow" class="external text" href="https://www.rockpapershotgun.com/2019/02/07/zachtronics-book-on-game-design-crowdfunding-on-kickstarter/">"Zachtronics book Zach-Like shows how the puzzle sausage gets made"</a>. <i><a href="Rock_Paper_Shotgun" title="Rock Paper Shotgun">Rock Paper Shotgun</a></i>.</cite></span>
</li>
<li id="cite_note-rps_best-3"><span class="mw-cite-backlink">^ <a href="#cite_ref-rps_best_3-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-rps_best_3-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFCaldwell2015" class="citation web cs1">Caldwell, Brendan (November 9, 2015). <a rel="nofollow" class="external text" href="https://www.rockpapershotgun.com/2015/11/09/best-programming-games/">"The 10 Best Hacking, Coding, Computing Games"</a>. <i><a href="Rock_Paper_Shotgun" title="Rock Paper Shotgun">Rock Paper Shotgun</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">October 3,</span> 2016</span>.</cite></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite id="CITEREFCaldwell2016" class="citation web cs1">Caldwell, Brendan (September 27, 2016). <a rel="nofollow" class="external text" href="https://www.rockpapershotgun.com/2016/09/27/hackmud-review/">"Wot I Think: Hackmud"</a>. <i><a href="Rock_Paper_Shotgun" title="Rock Paper Shotgun">Rock Paper Shotgun</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">October 3,</span> 2016</span>.</cite></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><cite id="CITEREFMetz2014" class="citation magazine cs1">Metz, Cade (September 24, 2014). <a rel="nofollow" class="external text" href="https://www.wired.com/2014/07/the-75-year-saga-behind-a-game-that-teachers-preschoolers-to-code/">"The 75-Year Saga Behind a Game That Teaches Preschoolers to Code"</a>. <i><a href="Wired_(magazine)" title="Wired (magazine)">Wired</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">October 3,</span> 2016</span>.</cite></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text">O'Kelly, Jackie, and J. Paul Gibson. "RoboCode & problem-based learning: a non-prescriptive approach to teaching programming." ACM SIGCSE Bulletin 38, no. 3 (2006): 217-221.</span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><cite id="CITEREFFinley2014" class="citation magazine cs1">Finley, Klint (August 18, 2014). <a rel="nofollow" class="external text" href="https://www.wired.com/2014/08/learntomod/">"New Minecraft Mod Teaches You Code as You Play"</a>. <i><a href="Wired_(magazine)" title="Wired (magazine)">Wired</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">October 3,</span> 2016</span>.</cite></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><cite id="CITEREFVincent2011" class="citation magazine cs1">Vincent, Alice (August 19, 2011). <a rel="nofollow" class="external text" href="https://www.wired.co.uk/article/codeacademy-teaches-the-internet-javascript">"Codecademy 'gamifies' the process of learning Javascript"</a>. <i><a href="Wired_(magazine)" title="Wired (magazine)">Wired</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">October 3,</span> 2016</span>.</cite></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://programminggames.org">The Programming Games Wiki</a></li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20040805003343/http://www.aiforge.net/game-links.htm">Many inactive programming games listed at AIforge</a></li>
<li><a rel="nofollow" class="external text" href="http://www.retroprogramming.com/2009/09/history-of-programming-games-1961-1989.html">A History of Programming Games</a></li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Video_game_genres350" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="3"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div id="Video_game_genres350" style="font-size:114%;margin:0 4em"><a href="Video_game_genre" title="Video game genre">Video game genres</a></div></th></tr><tr><td class="navbox-abovebelow hlist" colspan="3"><div>
<ul><li><a href="List_of_video_game_genres" title="List of video game genres">List of video game genres</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Action_game" title="Action game">Action</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Platformer" title="Platformer">Platformer</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Endless_runner" title="Endless runner">Endless runner</a></li>
<li><a href="Platform_fighter" title="Platform fighter">Platform fighter</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Shooter_game" title="Shooter game">Shooter</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Arena_shooter" title="Arena shooter">Arena</a></li>
<li><a href="First-person_shooter" title="First-person shooter">First-person</a></li>
<li><a href="Hero_shooter" title="Hero shooter">Hero</a></li>
<li><a href="Light_gun_shooter" class="mw-redirect" title="Light gun shooter">Light gun</a></li>
<li><a href="Shoot_'em_up" title="Shoot 'em up">Shoot 'em up</a>
<ul><li><a href="Bullet_hell" title="Bullet hell">Bullet hell</a></li>
<li><a href="Rail_shooter" title="Rail shooter">Rail</a></li>
<li><a href="Twin-stick_shooter" title="Twin-stick shooter">Twin-stick</a></li></ul></li>
<li><a href="Tactical_shooter" title="Tactical shooter">Tactical</a></li>
<li><a href="Third-person_shooter" title="Third-person shooter">Third-person</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Survival_game" title="Survival game">Survival</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Battle_royale_game" title="Battle royale game">Battle royale</a></li>
<li><a href="Survival_horror" title="Survival horror">Survival horror</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Beat_'em_up" title="Beat 'em up">Beat 'em up</a>
<ul><li><a href="Hack_and_slash" title="Hack and slash">Hack and slash</a></li></ul></li>
<li><a href="Fighting_game" title="Fighting game">Fighting</a>
<ul><li><a href="Platform_fighter" title="Platform fighter">Platform fighter</a></li></ul></li>
<li><a href="Maze_video_game" class="mw-redirect" title="Maze video game">Maze</a>
<ul><li><a href="List_of_Pac-Man_clones" title="List of Pac-Man clones"><i>Pac-Man</i> clone</a></li></ul></li>
<li><a href="Snake_(video_game_genre)" title="Snake (video game genre)">Snake</a></li>
<li><a href="Stealth_game" title="Stealth game">Stealth</a></li></ul>
</div></td></tr></tbody></table><div></div></td><td class="noviewer navbox-image" rowspan="10" style="width:1px;padding:0 0 0 2px"><div><span typeof="mw:File"></span></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Action-adventure_game" title="Action-adventure game">Action-adventure</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Grand_Theft_Auto_clone" title="Grand Theft Auto clone"><i>Grand Theft Auto</i> clone</a></li>
<li><a href="Metroidvania" title="Metroidvania">Metroidvania</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Adventure_game" title="Adventure game">Adventure</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Escape_room_video_game" title="Escape room video game">Escape room</a></li>
<li><a href="List_of_graphic_adventure_games" title="List of graphic adventure games">Graphic adventure</a></li>
<li><a href="Interactive_fiction" title="Interactive fiction">Interactive fiction</a></li>
<li><a href="Interactive_film" title="Interactive film">Interactive film</a></li>
<li><a href="Visual_novel" title="Visual novel">Visual novel</a></li>
<li><a href="Walking_simulator" title="Walking simulator">Walking sim</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Digital_tabletop_game" title="Digital tabletop game">Digital tabletop</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Deck-building_game" title="Deck-building game">Deck-building</a>
<ul><li><a href="Roguelike_deck-building_game" title="Roguelike deck-building game">Roguelike deck-building</a></li></ul></li>
<li><a href="Digital_collectible_card_game" title="Digital collectible card game">Digital collectible card</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Puzzle_video_game" title="Puzzle video game">Puzzle</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Hidden_object_game" title="Hidden object game">Hidden object</a></li>
<li><a href="Sokoban" title="Sokoban"><i>Sokoban</i></a></li>
<li><a href="Tile-matching_video_game" title="Tile-matching video game">Tile-matching</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Role-playing_video_game" title="Role-playing video game">Role-playing</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Action_role-playing_game" title="Action role-playing game">Action role-playing</a>
<ul><li><a href="Looter_shooter" title="Looter shooter">Looter shooter</a></li>
<li><a href="Soulslike" title="Soulslike">Soulslike</a></li></ul></li>
<li><a href="Dungeon_crawl" title="Dungeon crawl">Dungeon crawl</a></li>
<li><a href="Massively_multiplayer_online_role-playing_game" title="Massively multiplayer online role-playing game">MMORPG</a></li>
<li><a href="Monster-taming_game" title="Monster-taming game">Monster-taming</a></li>
<li><a href="Roguelike" title="Roguelike">Roguelike</a>
<ul><li><a href="Roguelike_deck-building_game" title="Roguelike deck-building game">Roguelike deck-building</a></li></ul></li>
<li><a href="Tactical_role-playing_game" title="Tactical role-playing game">Tactical role-playing</a></li>
<li><a href="Turn-based_role-playing_game" title="Turn-based role-playing game">Turn-based role-playing</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Simulation_video_game" title="Simulation video game">Simulation</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Life_simulation_game" title="Life simulation game">Life</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Dating_sim" title="Dating sim">Dating</a></li>
<li><a href="Farm_life_sim" title="Farm life sim">Farming</a></li>
<li><a href="God_game" title="God game">God</a></li>
<li><a href="Social_simulation_game" title="Social simulation game">Social</a></li>
<li><a href="Virtual_pet" title="Virtual pet">Virtual pet</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Construction_and_management_simulation" title="Construction and management simulation">CMS</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Business_simulation_game" title="Business simulation game">Business</a></li>
<li><a href="City-building_game" title="City-building game">City-building</a></li>
<li><a href="Government_simulation_game" title="Government simulation game">Government</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Sports_video_game" title="Sports video game">Sports</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Fishing_video_game" title="Fishing video game">Fishing</a></li>
<li><a href="Racing_game" title="Racing game">Racing</a>
<ul><li><a href="Kart_racing_game" title="Kart racing game">Kart racing</a></li>
<li><a href="Sim_racing" title="Sim racing">Sim racing</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Vehicle_simulation_game" title="Vehicle simulation game">Vehicle</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Flight_simulation_video_game" title="Flight simulation video game">Flight simulation</a>
<ul><li><a href="Combat_flight_simulation_game" title="Combat flight simulation game">Combat</a></li>
<li><a href="Lunar_Lander_(video_game_genre)" title="Lunar Lander (video game genre)">Lunar Lander</a></li>
<li><a href="Space_flight_simulation_game" title="Space flight simulation game">Space</a></li></ul></li>
<li><a href="Submarine_simulator" title="Submarine simulator">Submarine simulator</a></li>
<li><a href="Train_simulator" title="Train simulator">Train simulator</a></li>
<li><a href="Vehicular_combat_game" title="Vehicular combat game">Vehicular combat</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Falling-sand_game" title="Falling-sand game">Falling-sand</a></li>
<li><a href="Immersive_sim" title="Immersive sim">Immersive sim</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Strategy_video_game" title="Strategy video game">Strategy</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="4X" title="4X">4X</a></li>
<li><a href="Auto_battler" title="Auto battler">Auto battler</a></li>
<li><a href="Multiplayer_online_battle_arena" title="Multiplayer online battle arena">MOBA</a></li>
<li><a href="Real-time_strategy" title="Real-time strategy">Real-time strategy</a>
<ul><li><a href="Time_management_game" title="Time management game">Time management</a></li></ul></li>
<li><a href="Real-time_tactics" title="Real-time tactics">Real-time tactics</a></li>
<li><a href="Tactical_role-playing_game" title="Tactical role-playing game">Tactical role-playing</a></li>
<li><a href="Tower_defense" title="Tower defense">Tower defense</a></li>
<li><a href="Turn-based_strategy" class="mw-redirect" title="Turn-based strategy">Turn-based strategy</a></li>
<li><a href="Turn-based_tactics" title="Turn-based tactics">Turn-based tactics</a>
<ul><li><a href="Artillery_game" title="Artillery game">Artillery</a></li></ul></li>
<li><a href="Computer_wargame" title="Computer wargame">Wargame</a>
<ul><li><a href="Grand_strategy_wargame" title="Grand strategy wargame">Grand strategy</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other genres</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Cozy_game" title="Cozy game">Cozy</a></li>
<li><a href="Fitness_game" title="Fitness game">Fitness</a></li>
<li><a href="Horror_game" title="Horror game">Horror</a>
<ul><li><a href="Survival_horror" title="Survival horror">Survival horror</a></li></ul></li>
<li><a href="Incremental_game" title="Incremental game">Incremental</a></li>
<li><a href="Music_video_game" title="Music video game">Music</a>
<ul><li><a href="Rhythm_game" title="Rhythm game">Rhythm</a></li></ul></li>
<li><a href="Non-game" title="Non-game">Non-game</a></li>
<li><a href="Party_video_game" title="Party video game">Party</a></li>
<li><a href="Photography_game" class="mw-redirect" title="Photography game">Photography</a></li>
<li><a href="Typing_game" title="Typing game">Typing</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related concepts</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Themes</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Advergame" title="Advergame">Advergame</a></li>
<li><a href="Bish%C5%8Djo_game" title="Bishōjo game"><i>Bishōjo</i></a></li>
<li><a href="Christian_video_game" title="Christian video game">Christian</a></li>
<li><a href="Comedy_in_video_games" title="Comedy in video games">Comedy</a></li>
<li><a href="Educational_video_game" title="Educational video game">Educational</a></li>
<li><a href="Girls'_video_games" title="Girls' video games">Girls</a></li>
<li><a href="Licensed_game" title="Licensed game">Licensed</a></li>
<li><a href="Otome_game" title="Otome game"><i>Otome</i></a></li>
<li><a href="Sexual_content_in_video_games" title="Sexual content in video games">Sexual</a>
<ul><li><i><a href="Eroge" title="Eroge">Eroge</a></i></li></ul></li>
<li><a href="Nonviolent_video_game" title="Nonviolent video game">Nonviolent</a></li>
<li><a href="Personalized_video_game" title="Personalized video game">Personalized</a></li>
<li><a href="Science_fiction_video_game" title="Science fiction video game">Sci-fi</a></li>
<li><a href="Serious_game" title="Serious game">Serious</a>
<ul><li><a href="Art_game" title="Art game">Art</a></li>
<li><a href="Climate_change_video_game" title="Climate change video game">Climate change</a></li>
<li><a href="Newsgame" title="Newsgame">News</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Player modes</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Multiplayer_video_game" title="Multiplayer video game">Multiplayer</a>
<ul><li><a href="Cooperative_video_game" title="Cooperative video game">Co-op</a></li>
<li><a href="Player_versus_player" title="Player versus player">PVP</a></li></ul></li>
<li><a href="Single-player_video_game" title="Single-player video game">Single-player</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Production</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="AAA_(video_game_industry)" title="AAA (video game industry)">AAA</a></li>
<li><a href="Indie_game" title="Indie game">Indie</a>
<ul><li><a href="Doujin_soft" title="Doujin soft"><i>Doujin</i> soft</a></li>
<li><a href="Fan_game" title="Fan game">Fan game</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Design</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Casual_game" title="Casual game">Casual</a>
<ul><li><a href="Hypercasual_game" title="Hypercasual game">Hypercasual</a></li></ul></li>
<li><a href="Emergent_gameplay" title="Emergent gameplay">Emergent gameplay</a></li>
<li><a href="Full-motion_video" title="Full-motion video">FMV</a></li>
<li><a href="Gacha_game" title="Gacha game"><i>Gacha</i></a></li>
<li><a href="Kaizo" title="Kaizo"><i>Kaizo</i></a></li>
<li><a href="Masocore" title="Masocore">Masocore</a></li>
<li><a href="Nonlinear_gameplay" title="Nonlinear gameplay">Nonlinear gameplay</a>
<ul><li><a href="Open_world" title="Open world">Open world</a></li>
<li><a href="Sandbox_game" title="Sandbox game">Sandbox</a></li></ul></li>
<li><a href="Side-scrolling_video_game" title="Side-scrolling video game">Side-scrolling</a></li>
<li><a href="Twitch_gameplay" title="Twitch gameplay">Twitch gameplay</a></li>
<li><a href="Vertically_scrolling_video_game" title="Vertically scrolling video game">Vertically scrolling</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Minigame" title="Minigame">Minigame</a></li>
<li><a href="Toys-to-life" title="Toys-to-life">Toys-to-life</a></li>
<li><a href="Video_game_clone" title="Video game clone">Video game clone</a></li>
<li><a href="Video_game_modding" title="Video game modding">Video game modding</a></li>
<li><a href="Video_game_remake" title="Video game remake">Video game remake</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-06-05" href="https://en.wikipedia.org/wiki/?title=Programming_game&oldid=1294019190">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>